home *** CD-ROM | disk | FTP | other *** search
/ Choice 4 / Choice CD-ROM 4 - Disc 2.iso / onl / 09 / dspbm800.lzh / BAC.TXT next >
Text File  |  1994-05-22  |  20KB  |  505 lines

  1.                                                               1994.05.22
  2.                                                                    Y.SAK
  3.                 アニメーション制御 (Bac) 構文説明書
  4.  
  5. Display Bitmap (DspBmp.exe) のアニメーション制御 (Bac) では、制御構造を
  6. 利用して、
  7.   ○bmp bcs bca pca ファイルの表示
  8.   ○選択メッセージの表示による分岐
  9.   ○マウスクリックによる分岐
  10.   ○セーブデータによる分岐
  11.   ○ini ファイルの更新
  12.   ○ファイルのコピー
  13.   ○ファイルの圧縮
  14. などができます。
  15. Bac 制御ファイルは、bmp bcs bca と同様に Display Bitmap でオープンします。
  16. 尚、Bac ファイルは、ただのテキストなので Editor などで作成します。
  17.  
  18. Dsp_Bmp コマンドで使用できる Pca ファイルは、単体のアニメーションを定義
  19. したものです。
  20. 構文は、Bca ファイルと同一ですが、Nol_Set コマンドを省略して定義できます。
  21.  
  22. ■Display Bitmap のコマンドラインパラメタ
  23.   DspBmp.exe filename /SHOW-HIDE
  24.                             |_ HIDE 非表示起動
  25.                                MIN  アイコン化起動
  26.   コマンドラインで表示パラメタを指定できます。
  27.  
  28. ■ファイル名の規約
  29.   アニメーション制御 (Bac) ファイルの拡張子は、必ず bac として下さい。
  30.  
  31. ■構文の規約
  32.   構文に大文字小文字の区別はなく、認識不可能な文字はすべて注釈として解釈
  33.   しています。
  34.   また、スペースには半角を必ず使用して下さい。
  35.   尚、ハードタブを使用したときの動作は保証できません。
  36.   (構文解析が、めちゃあまいのでご注意下さい。)
  37.   ○注釈は原則としてキーワード Bac data の前にのみ書くことができます。
  38.   ○途中に注釈をどうしてもいれたい場合は、コマンドとして認識されるアルフ
  39.     ァベットがないように日本語で書きます。
  40.   ○アニメーション制御は、Bac data 以降に書きます。
  41.   ○Skip...End_Skip  Do...Loop  If_???? then...End_If ブロックは、ネスト
  42.     して使用できます。
  43.   ○Do や Call は、40 レベルまで使用できます。
  44.   ○構文の最大は 2000 ステップ(ラベル + コマンド)です。
  45.  
  46. ■コマンド説明
  47.  
  48.   Bac Data
  49.   |_ すべてのコマンドに先だって必ず記述されていなければなりません。
  50.  
  51.   Show_Hide
  52.   |_ Display Bitmap を非表示にします。
  53.  
  54.   Show_Normal
  55.   |_ Display Bitmap を通常表示にします。
  56.  
  57.   Set_SelNo Sel1
  58.   |         |_ NULL
  59.   |            Sel1
  60.   |            Sel2
  61.   |            Sel3
  62.   |            Sel4
  63.   |            Sel5
  64.   |_ If_SEL? を真にします。(NULL は、すべてを偽にします。)
  65.  
  66.   Set_IDCD IDOK
  67.   |        |_ IDOK
  68.   |           IDCANCEL
  69.   |           IDYES
  70.   |           IDNO
  71.   |_ If_ID?? を真にします。
  72.  
  73.   Set_Flag? TRUE
  74.   |       | |_ TRUE  (真)
  75.   |       |    FALSE (偽)
  76.   |       |_ 0 - 9
  77.   |_ If_Flag? を設定します。
  78.  
  79.   Set_Ini キーワード データ
  80.   |       |          |_ 文字列
  81.   |       |_ 文字列
  82.   |_ ini ファイルに指定されたキーワードでデータをセットします。
  83.      データに " " を指定すると、NULL 指定となります。
  84.      保管される ini ファイル名は、Bac ファイル名の拡張子を ini にしたも
  85.      のになります。
  86.      保管が正常にできれば If_IDOK に、そうでないときは If_IDCANCEL にな
  87.      ります。(セットしたデータは、If_Ini Call_Ini で判定できます。)
  88.  
  89.   ReWrite_Cmd @ラベル 制御データ
  90.   |           |       |_ 新アニメーション制御データ
  91.   |           |_ 20 バイト以内
  92.   |_ ラベル直後のアニメーション制御データを変更します。
  93.      パラメタの合計は 200 バイト以内でなくてはいけません。
  94.      このコマンドの使用には十分注意して下さい。
  95.  
  96.   @ラベル
  97.   |_ ラベルを定義します。(20 バイト以内)
  98.  
  99.   Chg_Label @旧ラベル @新ラベル
  100.   |         |         |_ 20 バイト以内
  101.   |         |_ 20 バイト以内
  102.   |_ ラベルを変更します。同一のラベルが複数ある場合は、先頭のものだけが
  103.      変更されます。
  104.  
  105.   Dlt_Label @ラベル
  106.   |         |_ 20 バイト以内
  107.   |_ ラベルを削除します。同一のラベルが複数ある場合は、先頭のものだけが
  108.      削除されます。(実際には、@@ラベルにしています。)
  109.  
  110.   Und_Label @ラベル
  111.   |         |_ 20 バイト以内
  112.   |_ 削除したラベルを復活します。同一の削除ラベルが複数ある場合は、先頭
  113.      のものだけが復活されます。
  114.  
  115.   Skip
  116.   |_ Skip...End_Skip 間をスキップします。
  117.      Goto If_???? Call などで、Skip...End_Skip 間のラベルを呼びだすこと
  118.      は可能です。
  119.  
  120.   End_Skip
  121.   |_ Skip の終わりを示します。
  122.  
  123.   Do
  124.   |_ Do...Loop のループを開始します。
  125.  
  126.   Loop
  127.   |_ Do へ戻ります。
  128.  
  129.   Loop_Until_Sel1
  130.   |          |_ Sel1 メッセージウィンドウの 1 番目が選択された
  131.   |             Sel2 メッセージウィンドウの 2 番目が選択された
  132.   |             Sel3 メッセージウィンドウの 3 番目が選択された
  133.   |             Sel4 メッセージウィンドウの 4 番目が選択された
  134.   |             Sel5 メッセージウィンドウの 5 番目が選択された
  135.   |             IDOK     『OK』    ボタンが押された
  136.   |             IDCANCEL 『キャンセル』 ボタンが押された
  137.   |             IDYES    『はい』  ボタンが押された
  138.   |             IDNO     『いいえ』ボタンが押された
  139.   |             Flag0 フラグ0 が TRUE
  140.   |             Flag1 フラグ1 が TRUE
  141.   |             Flag2 フラグ2 が TRUE
  142.   |             Flag3 フラグ3 が TRUE
  143.   |             Flag4 フラグ4 が TRUE
  144.   |             Flag5 フラグ5 が TRUE
  145.   |             Flag6 フラグ6 が TRUE
  146.   |             Flag7 フラグ7 が TRUE
  147.   |             Flag8 フラグ8 が TRUE
  148.   |             Flag9 フラグ9 が TRUE
  149.   |_ 条件を満たしていれば、ループから出て次へ、満たしていなければ Do へ
  150.      戻ります。
  151.      ステータスは、Dsp_Msg で Sel? が設定され、Inp_Data Msg_Box Win_Exec
  152.      Copy_File Write_Ini などで ID?? が設定されます。
  153.  
  154.   Exit_Do
  155.   |_ Do ループを抜けます。
  156.  
  157.   Back_Do
  158.   |_ Do へ戻ります。
  159.  
  160.   Call @ラベル
  161.   |    |_ 20 バイト以内
  162.   |_ ラベルをコールします。
  163.  
  164.   Call_Sel1 @ラベル
  165.   |    |    |_ 20 バイト以内
  166.   |    |_ Sel1 メッセージウィンドウの 1 番目が選択された
  167.   |       Sel2 メッセージウィンドウの 2 番目が選択された
  168.   |       Sel3 メッセージウィンドウの 3 番目が選択された
  169.   |       Sel4 メッセージウィンドウの 4 番目が選択された
  170.   |       Sel5 メッセージウィンドウの 5 番目が選択された
  171.   |       IDOK     『OK』    ボタンが押された
  172.   |       IDCANCEL 『キャンセル』 ボタンが押された
  173.   |       IDYES    『はい』  ボタンが押された
  174.   |       IDNO     『いいえ』ボタンが押された
  175.   |       Flag0 フラグ0 が TRUE
  176.   |       Flag1 フラグ1 が TRUE
  177.   |       Flag2 フラグ2 が TRUE
  178.   |       Flag3 フラグ3 が TRUE
  179.   |       Flag4 フラグ4 が TRUE
  180.   |       Flag5 フラグ5 が TRUE
  181.   |       Flag6 フラグ6 が TRUE
  182.   |       Flag7 フラグ7 が TRUE
  183.   |       Flag8 フラグ8 が TRUE
  184.   |       Flag9 フラグ9 が TRUE
  185.   |_ 条件を満たしていれば、ラベルをコールします。
  186.  
  187.   Return
  188.   |_ Call の次へ戻ります。
  189.  
  190.   Goto @ラベル
  191.   |    |_ 20 バイト以内
  192.   |_ ラベルへジャンプします。
  193.  
  194.   If_Sel1 @ラベル
  195.   |  |    |_ @ラベル (ラベルへ分岐)
  196.   |  |       Exit_Do (Do...Loop を脱出)
  197.   |  |       Back_Do (Do へ戻る)
  198.   |  |       End     (終了)
  199.   |  |       then    (End_If を使うとき)
  200.   |  |_ Sel1 メッセージウィンドウの 1 番目が選択された
  201.   |     Sel2 メッセージウィンドウの 2 番目が選択された
  202.   |     Sel3 メッセージウィンドウの 3 番目が選択された
  203.   |     Sel4 メッセージウィンドウの 4 番目が選択された
  204.   |     Sel5 メッセージウィンドウの 5 番目が選択された
  205.   |     IDOK     『OK』    ボタンが押された
  206.   |     IDCANCEL 『キャンセル』 ボタンが押された
  207.   |     IDYES    『はい』  ボタンが押された
  208.   |     IDNO     『いいえ』ボタンが押された
  209.   |     Flag0 フラグ0 が TRUE
  210.   |     Flag1 フラグ1 が TRUE
  211.   |     Flag2 フラグ2 が TRUE
  212.   |     Flag3 フラグ3 が TRUE
  213.   |     Flag4 フラグ4 が TRUE
  214.   |     Flag5 フラグ5 が TRUE
  215.   |     Flag6 フラグ6 が TRUE
  216.   |     Flag7 フラグ7 が TRUE
  217.   |     Flag8 フラグ8 が TRUE
  218.   |     Flag9 フラグ9 が TRUE
  219.   |_ 条件を満たしていれば、ラベルへジャンプします。
  220.      ラベルの変わりに Exit_Do が指定されていると、Do ループを抜けます。
  221.      Back_Do は Do へ戻ります。
  222.      then の指定があるときは、条件を満たしていれば次の構文へ、そうでなけ
  223.      れば End_If までスキップします。
  224.  
  225.   End_If
  226.   |_ If_???? then ブロックの終りを示します。
  227.  
  228.   Wait_Mouse
  229.   |_ マウスのクリックを待ちます。
  230.      クリックされた座標は、If_Mouse で判定できます。
  231.      このコマンドが実行されたときに、等倍表示以外のモードになっていると
  232.      自動的に等倍表示になります。
  233.  
  234.   Call_Mouse xs ys xp yp @ラベル
  235.   |          |  |  |  |  |_ 20 バイト以内
  236.   |          |  |  |  |_ 高さ (ドット)
  237.   |          |  |  |_ 幅 (ドット)
  238.   |          |  |_ 縦位置 (ドット)
  239.   |          |_ 横位置 (ドット)
  240.   |_ マウ